
var args = process.argv;
if (args.length < 3) {
    process.exit(0);
}

var target = args[2];
console.log("target:"+target);
var tail = require("child_process").spawn("tail", ["-f", target]);

function taillog(cbfunc) {
    tail.stdout.on("data", function (data) {
        var logs = data.toString().split("\n");
        for (var idx in logs) {
            var log = logs[idx];
            if (log.length > 0) {
                cbfunc(log);
            }
        }
    });
}

var mode = (args.length == 4 ? args[3] : "socket");
if (mode == "socket") {
    var io = require("socket.io").listen(2525);
    io.sockets.on("connection", function (socket) {
        taillog(function(msg) {
            console.log(msg);
            socket.send(msg);
        });
    });
} else if (mode == "local") {
    taillog(function(msg) {
        console.log(msg);
    });
}
